package com.syh.jn.scm.infrastructure.repository.model.base;

import com.syh.core.ddd.infrastructure.repository.model.SuperBusinessModel;
import lombok.*;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Table;

/**
 * 系统字典
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Builder
@Entity
@Table(name = "T_BASE_DICT")
@EqualsAndHashCode(callSuper = true)
public class DictModel extends SuperBusinessModel {
  /**
   * 名称
   */
  @Column(name = "NAME", columnDefinition = "varchar(50) COMMENT '名称'")
  private String name;
  /**
   * 值
   */
  @Column(name = "VALUE", columnDefinition = "varchar(50) COMMENT '值'")
  private String value;
  /**
   * 状态（-1：停用 1：启用）
   */
  @Column(name = "STATUS", columnDefinition = "smallint COMMENT '状态（-1：停用 1：启用）'")
  private Short status;
  /**
   * 编码
   */
  @Column(name = "CODE", columnDefinition = "varchar(50) COMMENT '编码'")
  private String code;
  /**
   * 备注
   */
  @Column(name = "REMARK", columnDefinition = "varchar(100) COMMENT '备注'")
  private String remark;
  /**
   * 分类id
   */
  @Column(name = "CATEGORY_ID", columnDefinition = "bigint COMMENT '分类id'")
  private Long categoryId;
  /**
   * 分类编码
   */
  @Column(name = "CATEGORY_CODE", columnDefinition = "varchar(50) COMMENT '分类编码'", length = 50)
  private String categoryCode;
  /**
   * 分类名称
   */
  @Column(name = "CATEGORY_NAME", columnDefinition = "varchar(50) COMMENT '分类名称'")
  private String categoryName;
  /**
   * 创建时间
   */
  @Column(name = "CREATE_TIME_STAMP", columnDefinition = "bigint COMMENT '创建时间'")
  private Long createTimeStamp;
  /**
   * 修改时间
   */
  @Column(name = "LAST_UPDATE_TIME_STAMP", columnDefinition = "bigint COMMENT '修改时间'")
  private Long lastUpdateTimeStamp;
}
